import { PlayerVo } from "./PlayerVo";
import { EntityVo } from "./EntityVo";

/**组件类型 */
export enum ComponentType {
    Actor,
    Movement,
    Camera,
}

/**地图实体类型 */
export enum EntityType {
    Player,
    Enemy,
}

/**实体状态 */
export enum EntityState {
    idle,
    walk
}

/**实体动作 */
export enum EntityAction {
    idle,
    walk,
}

export class GameConst {
    public static getComponentCls(type: ComponentType) {
        switch (type) {
            case ComponentType.Actor:
                // return ActorComponent;
            case ComponentType.Movement:
                // return MovementComponent;
            case ComponentType.Camera:
                // return CameraComponent;
            default:
                return null;
        }
    }

    public static createEntityVo(type:EntityType):EntityVo{
        let vo:EntityVo;
        switch(type) {
            case EntityType.Player:
                vo = new PlayerVo();
                break;
            case EntityType.Enemy:
                break;
        }
        return vo;
    }
}